# 复制整行： Ctrl + D
# 格式化：Ctrl + Alt + L
# 整体标注：Ctrl + /


# 列表传参机制


def f1(list1):
    print(f"列表的内容为{list1},列表id为{id(list1)}")
    list1[0] = "a"
    print(f"列表内容为{list1},列表id为{id(list1)}")


list1 = [1, 2, 3]
f1(list1)
print(f"列表的内容为{list1},列表id为{id(list1)}")


# 结论:函数能够修改列表中的元素,修改列表实际上是修改其中的值

def f2(tuple1):
    print(f"元组的内容为{tuple1},id为{id(tuple1)}")
    tuple1[0] = 4
    print(f"元组的内容为{tuple1},id为{id(tuple1)}")


tuple1 = (1, 2, 3)
f2(tuple1)
print(f"元组的内容为{tuple1},id为{id(tuple1)}")


# 结论:元组是不可变数值类型


def f3(set1):
    print(f"集合的内容为{set1},id为{id(set1)}")
    set1.add(4)
    print(f"集合的内容为{set1},id为{id(set1)}")


set1 = {1, 2, 3}
f3(set1)
print(f"集合的内容为{set1},id为{id(set1)}")

# 结论:函数能够修改集合中的元素,修改集合实际上是修改其中的值

def f4(dict1):
    print(f"集合的内容为{dict1},id为{id(dict1)}")
    dict1
    print(f"集合的内容为{dict1},id为{id(dict1)}")


dict1 = {1:1, 2:2, 3:3}
f3(dict1)
print(f"集合的内容为{dict1},id为{id(dict1)}")
